home *** CD-ROM | disk | FTP | other *** search
Unknown | 1994-09-27 | 8.8 KB | [?Syd/?Syn] |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [?Syd] |
macFileCreator | [?Syn] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 79 6e 31 02 00 00 00 | 00 00 00 ee 56 00 00 64 |Syn1....|....V..d|
|00000010| 00 00 00 00 3b 58 08 80 | 84 1e 00 08 01 01 80 84 |....;X..|........|
|00000020| 1e 00 00 12 7a 00 01 00 | 15 00 00 00 23 73 6f 6e |....z...|....#son|
|00000030| 67 20 70 6f 73 74 70 72 | 6f 63 65 73 73 69 6e 67 |g postpr|ocessing|
|00000040| 0a 00 00 00 00 05 00 00 | 00 01 0f 00 28 00 67 02 |........|....(.g.|
|00000050| 4b 01 0c 00 00 00 52 65 | 73 6f 6e 20 46 69 6c 74 |K.....Re|son Filt|
|00000060| 65 72 9b 06 00 00 23 20 | 73 65 63 6f 6e 64 20 6f |er....# |second o|
|00000070| 72 64 65 72 20 72 65 63 | 75 72 73 69 76 65 20 66 |rder rec|ursive f|
|00000080| 69 6c 74 65 72 2e 0a 23 | 20 66 72 6f 6d 20 41 70 |ilter..#| from Ap|
|00000090| 70 65 6e 64 69 78 20 28 | 70 61 67 65 20 33 34 39 |pendix (|page 349|
|000000a0| 2d 33 35 30 29 20 6f 66 | 0a 23 20 44 6f 64 67 65 |-350) of|.# Dodge|
|000000b0| 2c 20 43 68 61 72 6c 65 | 73 20 61 6e 64 20 4a 65 |, Charle|s and Je|
|000000c0| 72 73 65 2c 20 54 68 6f | 6d 61 73 20 41 2e 0a 23 |rse, Tho|mas A..#|
|000000d0| 20 43 6f 6d 70 75 74 65 | 72 20 4d 75 73 69 63 3a | Compute|r Music:|
|000000e0| 20 20 53 79 6e 74 68 65 | 73 69 73 2c 20 43 6f 6d | Synthe|sis, Com|
|000000f0| 70 6f 73 69 74 69 6f 6e | 2c 20 61 6e 64 20 50 65 |position|, and Pe|
|00000100| 72 66 6f 72 6d 61 6e 63 | 65 0a 23 20 53 63 68 69 |rformanc|e.# Schi|
|00000110| 72 6d 65 72 20 42 6f 6f | 6b 73 2c 20 4e 65 77 20 |rmer Boo|ks, New |
|00000120| 59 6f 72 6b 2c 20 31 39 | 38 35 0a 0a 23 20 66 69 |York, 19|85..# fi|
|00000130| 6c 74 65 72 20 73 65 74 | 20 75 70 20 66 75 6e 63 |lter set| up func|
|00000140| 74 69 6f 6e 0a 23 20 20 | 20 63 66 20 3d 20 63 65 |tion.# | cf = ce|
|00000150| 6e 74 65 72 20 66 72 65 | 71 75 65 6e 63 79 20 69 |nter fre|quency i|
|00000160| 6e 20 48 65 72 74 7a 2e | 0a 23 20 20 20 62 77 20 |n Hertz.|.# bw |
|00000170| 3d 20 33 20 64 42 20 62 | 61 6e 64 77 69 64 74 68 |= 3 dB b|andwidth|
|00000180| 20 69 6e 20 48 65 72 74 | 7a 0a 23 20 20 20 73 63 | in Hert|z.# sc|
|00000190| 6c 20 3d 20 61 6d 70 6c | 69 74 75 64 65 20 73 63 |l = ampl|itude sc|
|000001a0| 61 6c 69 6e 67 20 6d 65 | 74 68 6f 64 0a 23 20 20 |aling me|thod.# |
|000001b0| 20 20 20 30 20 3d 20 6e | 6f 20 73 63 61 6c 69 6e | 0 = n|o scalin|
|000001c0| 67 0a 23 20 20 20 20 20 | 31 20 3d 20 67 61 69 6e |g.# |1 = gain|
|000001d0| 20 3d 20 31 20 61 74 20 | 63 66 0a 23 20 20 20 20 | = 1 at |cf.# |
|000001e0| 20 32 20 3d 20 67 61 69 | 6e 20 3d 20 31 20 6f 6e | 2 = gai|n = 1 on|
|000001f0| 20 77 68 69 74 65 20 6e | 6f 69 73 65 20 69 6e 70 | white n|oise inp|
|00000200| 75 74 0a 23 20 20 20 73 | 72 20 3d 20 73 61 6d 70 |ut.# s|r = samp|
|00000210| 6c 69 6e 67 20 72 61 74 | 65 20 69 6e 20 48 65 72 |ling rat|e in Her|
|00000220| 74 7a 0a 23 20 20 20 72 | 65 74 75 72 6e 73 20 61 |tz.# r|eturns a|
|00000230| 72 72 61 79 20 66 6f 72 | 20 77 6f 72 6b 73 70 61 |rray for| workspa|
|00000240| 63 65 0a 66 75 6e 63 20 | 72 73 6e 73 65 74 28 63 |ce.func |rsnset(c|
|00000250| 66 3a 64 6f 75 62 6c 65 | 2c 20 62 77 3a 64 6f 75 |f:double|, bw:dou|
|00000260| 62 6c 65 2c 20 73 63 6c | 3a 69 6e 74 2c 20 73 72 |ble, scl|:int, sr|
|00000270| 3a 64 6f 75 62 6c 65 29 | 20 3a 20 64 6f 75 62 6c |:double)| : doubl|
|00000280| 65 61 72 72 61 79 0a 09 | 28 0a 09 09 76 61 72 20 |earray..|(...var |
|00000290| 61 3a 64 6f 75 62 6c 65 | 61 72 72 61 79 28 35 29 |a:double|array(5)|
|000002a0| 3b 0a 09 09 73 65 74 20 | 61 5b 32 5d 20 3a 3d 20 |;...set |a[2] := |
|000002b0| 65 78 70 28 2d 20 32 20 | 2a 20 70 69 20 2a 20 62 |exp(- 2 |* pi * b|
|000002c0| 77 20 2f 20 73 72 29 3b | 0a 09 09 76 61 72 20 63 |w / sr);|...var c|
|000002d0| 3a 64 6f 75 62 6c 65 20 | 3d 20 31 20 2b 20 61 5b |:double |= 1 + a[|
|000002e0| 32 5d 3b 0a 09 09 73 65 | 74 20 61 5b 31 5d 20 3a |2];...se|t a[1] :|
|000002f0| 3d 20 2d 34 20 2a 20 61 | 5b 32 5d 20 2f 20 63 20 |= -4 * a|[2] / c |
|00000300| 2a 20 63 6f 73 28 32 20 | 2a 20 70 69 20 2a 20 63 |* cos(2 |* pi * c|
|00000310| 66 20 2f 20 73 72 29 3b | 0a 09 09 69 66 20 28 73 |f / sr);|...if (s|
|00000320| 63 6c 20 3d 20 32 29 20 | 74 68 65 6e 0a 09 09 09 |cl = 2) |then....|
|00000330| 73 65 74 20 61 5b 30 5d | 20 3a 3d 20 73 71 72 74 |set a[0]| := sqrt|
|00000340| 28 28 31 20 2d 20 61 5b | 32 5d 29 20 2f 20 63 20 |((1 - a[|2]) / c |
|00000350| 2a 20 28 63 20 2a 20 63 | 20 2d 20 61 5b 31 5d 20 |* (c * c| - a[1] |
|00000360| 2a 20 61 5b 31 5d 29 29 | 0a 09 09 65 6c 73 65 20 |* a[1]))|...else |
|00000370| 69 66 20 28 73 63 6c 20 | 3d 20 31 29 20 74 68 65 |if (scl |= 1) the|
|00000380| 6e 0a 09 09 09 73 65 74 | 20 61 5b 30 5d 20 3a 3d |n....set| a[0] :=|
|00000390| 20 28 31 20 2d 20 61 5b | 32 5d 29 20 2a 20 73 71 | (1 - a[|2]) * sq|
|000003a0| 72 74 28 31 20 2d 20 61 | 5b 31 5d 20 2a 20 61 5b |rt(1 - a|[1] * a[|
|000003b0| 31 5d 20 2f 20 28 34 20 | 2a 20 61 5b 32 5d 29 29 |1] / (4 |* a[2]))|
|000003c0| 0a 09 09 65 6c 73 65 0a | 09 09 09 73 65 74 20 61 |...else.|...set a|
|000003d0| 5b 30 5d 20 3a 3d 20 31 | 3b 0a 09 09 61 0a 09 29 |[0] := 1|;...a..)|
|000003e0| 3b 0a 0a 23 20 61 70 70 | 6c 79 20 74 68 65 20 66 |;..# app|ly the f|
|000003f0| 69 6c 74 65 72 20 74 6f | 20 6f 6e 65 20 73 61 6d |ilter to| one sam|
|00000400| 70 6c 65 0a 23 20 20 20 | 78 69 6e 20 3d 20 73 61 |ple.# |xin = sa|
|00000410| 6d 70 6c 65 20 70 6f 69 | 6e 74 20 69 6e 20 5b 2d |mple poi|nt in [-|
|00000420| 31 2e 2e 31 5d 0a 23 20 | 20 20 61 20 3d 20 77 6f |1..1].# | a = wo|
|00000430| 72 6b 73 70 61 63 65 20 | 61 72 72 61 79 0a 23 20 |rkspace |array.# |
|00000440| 20 20 72 65 74 75 72 6e | 73 20 74 68 65 20 6e 65 | return|s the ne|
|00000450| 77 20 73 61 6d 70 6c 65 | 20 70 6f 69 6e 74 0a 66 |w sample| point.f|
|00000460| 75 6e 63 20 72 65 73 6f | 6e 28 78 69 6e 3a 64 6f |unc reso|n(xin:do|
|00000470| 75 62 6c 65 2c 20 61 3a | 64 6f 75 62 6c 65 61 72 |uble, a:|doublear|
|00000480| 72 61 79 29 20 3a 20 64 | 6f 75 62 6c 65 0a 09 28 |ray) : d|ouble..(|
|00000490| 0a 09 09 76 61 72 20 79 | 69 3a 64 6f 75 62 6c 65 |...var y|i:double|
|000004a0| 20 3d 20 61 5b 30 5d 20 | 2a 20 78 69 6e 20 2d 20 | = a[0] |* xin - |
|000004b0| 61 5b 31 5d 20 2a 20 61 | 5b 33 5d 20 2d 20 61 5b |a[1] * a|[3] - a[|
|000004c0| 32 5d 20 2a 20 61 5b 34 | 5d 3b 0a 09 09 73 65 74 |2] * a[4|];...set|
|000004d0| 20 61 5b 34 5d 20 3a 3d | 20 61 5b 33 5d 3b 0a 09 | a[4] :=| a[3];..|
|000004e0| 09 73 65 74 20 61 5b 33 | 5d 20 3a 3d 20 79 69 0a |.set a[3|] := yi.|
|000004f0| 09 29 3b 0a 0a 23 20 61 | 70 70 6c 79 20 66 69 6c |.);..# a|pply fil|
|00000500| 74 65 72 20 74 6f 20 61 | 20 72 61 6e 67 65 20 6f |ter to a| range o|
|00000510| 66 20 73 61 6d 70 6c 65 | 73 2e 20 20 6f 6e 65 20 |f sample|s. one |
|00000520| 70 61 73 73 20 69 73 20 | 6d 61 64 65 20 74 6f 20 |pass is |made to |
|00000530| 73 74 61 62 69 6c 69 7a | 65 20 66 69 6c 74 65 72 |stabiliz|e filter|
|00000540| 2c 0a 23 20 61 6e 64 20 | 74 68 65 20 73 65 63 6f |,.# and |the seco|
|00000550| 6e 64 20 70 61 73 73 20 | 69 73 20 74 68 65 6e 20 |nd pass |is then |
|00000560| 75 73 65 64 0a 66 75 6e | 63 20 61 70 70 6c 79 72 |used.fun|c applyr|
|00000570| 65 73 6f 6e 28 64 61 74 | 61 3a 66 69 78 65 64 61 |eson(dat|a:fixeda|
|00000580| 72 72 61 79 2c 20 73 74 | 61 72 74 3a 69 6e 74 2c |rray, st|art:int,|
|00000590| 20 6c 65 6e 3a 69 6e 74 | 2c 20 61 3a 64 6f 75 62 | len:int|, a:doub|
|000005a0| 6c 65 61 72 72 61 79 2c | 20 63 6f 75 6e 74 3a 69 |learray,| count:i|
|000005b0| 6e 74 29 20 3a 20 66 69 | 78 65 64 61 72 72 61 79 |nt) : fi|xedarray|
|000005c0| 0a 09 28 0a 09 09 76 61 | 72 20 69 3a 69 6e 74 20 |..(...va|r i:int |
|000005d0| 3d 20 30 3b 0a 09 09 77 | 68 69 6c 65 20 63 6f 75 |= 0;...w|hile cou|
|000005e0| 6e 74 20 3e 20 30 20 64 | 6f 0a 09 09 09 28 0a 09 |nt > 0 d|o....(..|
|000005f0| 09 09 09 73 65 74 20 69 | 20 3a 3d 20 30 3b 0a 09 |...set i| := 0;..|
|00000600| 09 09 09 77 68 69 6c 65 | 20 69 20 3c 20 6c 65 6e |...while| i < len|
|00000610| 20 64 6f 0a 09 09 09 09 | 09 28 0a 09 09 09 09 09 | do.....|.(......|
|00000620| 09 72 65 73 6f 6e 28 64 | 61 74 61 5b 73 74 61 72 |.reson(d|ata[star|
|00000630| 74 20 2b 20 69 5d 2c 61 | 29 3b 0a 09 09 09 09 09 |t + i],a|);......|
|00000640| 09 73 65 74 20 69 20 3a | 3d 20 69 20 2b 20 31 3b |.set i :|= i + 1;|
|00000650| 0a 09 09 09 09 09 29 3b | 0a 09 09 09 09 73 65 74 |......);|.....set|
|00000660| 20 63 6f 75 6e 74 20 3a | 3d 20 63 6f 75 6e 74 20 | count :|= count |
|00000670| 2d 20 31 3b 0a 09 09 09 | 29 3b 0a 09 09 73 65 74 |- 1;....|);...set|
|00000680| 20 69 20 3a 3d 20 30 3b | 0a 09 09 77 68 69 6c 65 | i := 0;|...while|
|00000690| 20 69 20 3c 20 6c 65 6e | 20 64 6f 0a 09 09 09 28 | i < len| do....(|
|000006a0| 0a 09 09 09 09 73 65 74 | 20 64 61 74 61 5b 73 74 |.....set| data[st|
|000006b0| 61 72 74 20 2b 20 69 5d | 20 3a 3d 20 66 69 78 65 |art + i]| := fixe|
|000006c0| 64 20 72 65 73 6f 6e 28 | 64 61 74 61 5b 73 74 61 |d reson(|data[sta|
|000006d0| 72 74 20 2b 20 69 5d 2c | 61 29 3b 0a 09 09 09 09 |rt + i],|a);.....|
|000006e0| 73 65 74 20 69 20 3a 3d | 20 69 20 2b 20 31 3b 0a |set i :=| i + 1;.|
|000006f0| 09 09 09 29 3b 0a 09 09 | 64 61 74 61 0a 09 29 3b |...);...|data..);|
|00000700| 0a 01 13 00 14 00 55 02 | 65 01 09 00 00 00 4e 6f |......U.|e.....No|
|00000710| 72 6d 61 6c 69 7a 65 8f | 04 00 00 23 20 74 68 69 |rmalize.|...# thi|
|00000720| 73 20 66 75 6e 63 74 69 | 6f 6e 20 6e 6f 72 6d 61 |s functi|on norma|
|00000730| 6c 69 7a 65 73 20 74 68 | 65 20 7a 6f 6e 65 20 69 |lizes th|e zone i|
|00000740| 6e 20 74 68 65 20 61 72 | 72 61 79 0a 66 75 6e 63 |n the ar|ray.func|
|00000750| 20 6e 6f 72 6d 61 6c 69 | 7a 65 73 65 67 6d 65 6e | normali|zesegmen|
|00000760| 74 28 64 61 74 61 3a 66 | 69 78 65 64 61 72 72 61 |t(data:f|ixedarra|
|00000770| 79 2c 73 74 61 72 74 3a | 69 6e 74 2c 6c 65 6e 3a |y,start:|int,len:|
|00000780| 69 6e 74 29 3a 66 69 78 | 65 64 61 72 72 61 79 0a |int):fix|edarray.|
|00000790| 09 28 0a 09 09 76 61 72 | 20 69 3a 69 6e 74 20 3d |.(...var| i:int =|
|000007a0| 20 30 3b 0a 09 09 76 61 | 72 20 6d 61 78 3a 64 6f | 0;...va|r max:do|
|000007b0| 75 62 6c 65 20 3d 20 30 | 3b 0a 0a 09 09 77 68 69 |uble = 0|;....whi|
|000007c0| 6c 65 20 69 20 3c 20 6c | 65 6e 20 64 6f 0a 09 09 |le i < l|en do...|
|000007d0| 09 28 0a 09 09 09 09 76 | 61 72 20 70 6f 69 6e 74 |.(.....v|ar point|
|000007e0| 3a 64 6f 75 62 6c 65 20 | 3d 20 61 62 73 20 64 61 |:double |= abs da|
|000007f0| 74 61 5b 73 74 61 72 74 | 20 2b 20 69 5d 3b 0a 09 |ta[start| + i];..|
|00000800| 09 09 09 69 66 20 6d 61 | 78 20 3c 20 70 6f 69 6e |...if ma|x < poin|
|00000810| 74 20 74 68 65 6e 20 73 | 65 74 20 6d 61 78 20 3a |t then s|et max :|
|00000820| 3d 20 70 6f 69 6e 74 3b | 0a 09 09 09 09 73 65 74 |= point;|.....set|
|00000830| 20 69 20 3a 3d 20 69 20 | 2b 20 31 3b 0a 09 09 09 | i := i |+ 1;....|
|00000840| 29 3b 0a 0a 09 09 73 65 | 74 20 69 20 3a 3d 20 30 |);....se|t i := 0|
|00000850| 3b 0a 09 09 69 66 20 6d | 61 78 20 3c 20 2e 30 31 |;...if m|ax < .01|
|00000860| 20 74 68 65 6e 20 65 72 | 72 6f 72 20 22 6e 6f 72 | then er|ror "nor|
|00000870| 6d 61 6c 69 7a 65 73 65 | 67 6d 65 6e 74 3a 20 20 |malizese|gment: |
|00000880| 73 63 61 6c 65 20 69 73 | 20 76 65 72 79 20 6c 61 |scale is| very la|
|00000890| 72 67 65 22 20 72 65 73 | 75 6d 61 62 6c 65 20 74 |rge" res|umable t|
|000008a0| 72 75 65 3b 0a 09 09 77 | 68 69 6c 65 20 69 20 3c |rue;...w|hile i <|
|000008b0| 20 6c 65 6e 20 64 6f 0a | 09 09 09 28 0a 09 09 09 | len do.|...(....|
|000008c0| 09 73 65 74 20 64 61 74 | 61 5b 73 74 61 72 74 20 |.set dat|a[start |
|000008d0| 2b 20 69 5d 20 3a 3d 20 | 66 69 78 65 64 28 64 61 |+ i] := |fixed(da|
|000008e0| 74 61 5b 73 74 61 72 74 | 20 2b 20 69 5d 20 2f 20 |ta[start| + i] / |
|000008f0| 6d 61 78 29 3b 0a 09 09 | 09 09 73 65 74 20 69 20 |max);...|..set i |
|00000900| 3a 3d 20 69 20 2b 20 31 | 3b 0a 09 09 09 29 3b 0a |:= i + 1|;....);.|
|00000910| 0a 09 09 64 61 74 61 0a | 09 29 3b 0a 0a 23 20 74 |...data.|.);..# t|
|00000920| 68 69 73 20 66 75 6e 63 | 74 69 6f 6e 20 73 63 61 |his func|tion sca|
|00000930| 6c 65 73 20 61 6e 64 20 | 73 68 69 66 74 73 20 74 |les and |shifts t|
|00000940| 68 65 20 73 6f 75 6e 64 | 20 74 6f 20 6d 61 78 69 |he sound| to maxi|
|00000950| 6d 69 7a 65 20 74 68 65 | 20 63 68 61 6e 6e 65 6c |mize the| channel|
|00000960| 20 75 73 61 67 65 0a 66 | 75 6e 63 20 6d 61 78 69 | usage.f|unc maxi|
|00000970| 6d 69 7a 65 73 65 67 6d | 65 6e 74 28 64 61 74 61 |mizesegm|ent(data|
|00000980| 3a 66 69 78 65 64 61 72 | 72 61 79 2c 73 74 61 72 |:fixedar|ray,star|
|00000990| 74 3a 69 6e 74 2c 6c 65 | 6e 3a 69 6e 74 29 3a 66 |t:int,le|n:int):f|
|000009a0| 69 78 65 64 61 72 72 61 | 79 0a 09 28 0a 09 09 76 |ixedarra|y..(...v|
|000009b0| 61 72 20 69 3a 69 6e 74 | 20 3d 20 30 3b 0a 09 09 |ar i:int| = 0;...|
|000009c0| 76 61 72 20 6d 61 78 3a | 64 6f 75 62 6c 65 20 3d |var max:|double =|
|000009d0| 20 2d 31 30 30 30 30 30 | 30 3b 0a 09 09 76 61 72 | -100000|0;...var|
|000009e0| 20 6d 69 6e 3a 64 6f 75 | 62 6c 65 20 3d 20 31 30 | min:dou|ble = 10|
|000009f0| 30 30 30 30 30 3b 0a 0a | 09 09 77 68 69 6c 65 20 |00000;..|..while |
|00000a00| 69 20 3c 20 6c 65 6e 20 | 64 6f 0a 09 09 09 28 0a |i < len |do....(.|
|00000a10| 09 09 09 09 76 61 72 20 | 69 74 65 6d 3a 66 69 78 |....var |item:fix|
|00000a20| 65 64 20 3d 20 64 61 74 | 61 5b 73 74 61 72 74 20 |ed = dat|a[start |
|00000a30| 2b 20 69 5d 3b 0a 09 09 | 09 09 69 66 20 6d 61 78 |+ i];...|..if max|
|00000a40| 20 3c 20 69 74 65 6d 20 | 74 68 65 6e 20 73 65 74 | < item |then set|
|00000a50| 20 6d 61 78 20 3a 3d 20 | 69 74 65 6d 3b 0a 09 09 | max := |item;...|
|00000a60| 09 09 69 66 20 6d 69 6e | 20 3e 20 69 74 65 6d 20 |..if min| > item |
|00000a70| 74 68 65 6e 20 73 65 74 | 20 6d 69 6e 20 3a 3d 20 |then set| min := |
|00000a80| 69 74 65 6d 3b 0a 09 09 | 09 09 73 65 74 20 69 20 |item;...|..set i |
|00000a90| 3a 3d 20 69 20 2b 20 31 | 3b 0a 09 09 09 29 3b 0a |:= i + 1|;....);.|
|00000aa0| 0a 09 09 73 65 74 20 69 | 20 3a 3d 20 30 3b 0a 09 |...set i| := 0;..|
|00000ab0| 09 76 61 72 20 73 70 61 | 6e 3a 64 6f 75 62 6c 65 |.var spa|n:double|
|00000ac0| 20 3d 20 28 6d 61 78 20 | 2d 20 6d 69 6e 29 20 2f | = (max |- min) /|
|00000ad0| 20 32 3b 0a 09 09 69 66 | 20 73 70 61 6e 20 3c 20 | 2;...if| span < |
|00000ae0| 2e 30 31 20 74 68 65 6e | 20 65 72 72 6f 72 20 22 |.01 then| error "|
|00000af0| 6d 61 78 69 6d 69 7a 65 | 73 65 67 6d 65 6e 74 3a |maximize|segment:|
|00000b00| 20 20 73 70 61 6e 20 69 | 73 20 76 65 72 79 20 73 | span i|s very s|
|00000b10| 6d 61 6c 6c 22 20 72 65 | 73 75 6d 61 62 6c 65 20 |mall" re|sumable |
|00000b20| 74 72 75 65 3b 0a 09 09 | 77 68 69 6c 65 20 69 20 |true;...|while i |
|00000b30| 3c 20 6c 65 6e 20 64 6f | 0a 09 09 09 28 0a 09 09 |< len do|....(...|
|00000b40| 09 09 73 65 74 20 64 61 | 74 61 5b 73 74 61 72 74 |..set da|ta[start|
|00000b50| 20 2b 20 69 5d 20 3a 3d | 20 66 69 78 65 64 28 28 | + i] :=| fixed((|
|00000b60| 64 61 74 61 5b 73 74 61 | 72 74 20 2b 20 69 5d 20 |data[sta|rt + i] |
|00000b70| 2d 20 6d 69 6e 29 20 2f | 20 73 70 61 6e 20 2d 20 |- min) /| span - |
|00000b80| 31 29 3b 0a 09 09 09 09 | 73 65 74 20 69 20 3a 3d |1);.....|set i :=|
|00000b90| 20 69 20 2b 20 31 3b 0a | 09 09 09 29 3b 0a 0a 09 | i + 1;.|...);...|
|00000ba0| 09 64 61 74 61 0a 09 29 | 3b 0a 01 0f 00 1f 00 66 |.data..)|;......f|
|00000bb0| 02 55 01 0b 00 00 00 50 | 75 6c 73 65 20 57 69 64 |.U.....P|ulse Wid|
|00000bc0| 74 68 7a 03 00 00 23 20 | 73 74 61 74 69 63 20 70 |thz...# |static p|
|00000bd0| 75 6c 73 65 77 69 64 74 | 68 20 66 75 6e 63 74 69 |ulsewidt|h functi|
|00000be0| 6f 6e 0a 23 20 20 20 70 | 68 61 73 65 20 3d 20 69 |on.# p|hase = i|
|00000bf0| 6e 64 65 78 20 28 30 2e | 2e 31 29 0a 23 20 20 20 |ndex (0.|.1).# |
|00000c00| 64 75 74 79 20 3d 20 66 | 72 61 63 74 69 6f 6e 20 |duty = f|raction |
|00000c10| 61 74 20 68 69 67 68 20 | 6c 65 76 65 6c 0a 23 20 |at high |level.# |
|00000c20| 20 20 74 72 61 6e 73 20 | 3d 20 66 72 61 63 74 69 | trans |= fracti|
|00000c30| 6f 6e 20 69 6e 20 74 72 | 61 6e 73 69 74 20 62 65 |on in tr|ansit be|
|00000c40| 74 77 65 65 6e 20 6c 65 | 76 65 6c 73 0a 66 75 6e |tween le|vels.fun|
|00000c50| 63 20 70 75 6c 73 65 77 | 69 64 74 68 28 70 68 61 |c pulsew|idth(pha|
|00000c60| 73 65 3a 64 6f 75 62 6c | 65 2c 20 64 75 74 79 3a |se:doubl|e, duty:|
|00000c70| 64 6f 75 62 6c 65 2c 20 | 74 72 61 6e 73 3a 64 6f |double, |trans:do|
|00000c80| 75 62 6c 65 29 20 3a 20 | 64 6f 75 62 6c 65 0a 09 |uble) : |double..|
|00000c90| 28 0a 09 09 76 61 72 20 | 70 65 61 6b 31 3a 64 6f |(...var |peak1:do|
|00000ca0| 75 62 6c 65 20 3d 20 74 | 72 61 6e 73 20 2f 20 34 |uble = t|rans / 4|
|00000cb0| 3b 0a 09 09 76 61 72 20 | 70 65 61 6b 32 3a 64 6f |;...var |peak2:do|
|00000cc0| 75 62 6c 65 20 3d 20 70 | 65 61 6b 31 20 2b 20 28 |uble = p|eak1 + (|
|00000cd0| 64 75 74 79 20 2d 20 74 | 72 61 6e 73 20 2f 20 32 |duty - t|rans / 2|
|00000ce0| 29 3b 0a 09 09 76 61 72 | 20 74 72 6f 75 67 68 31 |);...var| trough1|
|00000cf0| 3a 64 6f 75 62 6c 65 20 | 3d 20 70 65 61 6b 32 20 |:double |= peak2 |
|00000d00| 2b 20 74 72 61 6e 73 20 | 2f 20 32 3b 0a 09 09 76 |+ trans |/ 2;...v|
|00000d10| 61 72 20 74 72 6f 75 67 | 68 32 3a 64 6f 75 62 6c |ar troug|h2:doubl|
|00000d20| 65 20 3d 20 31 20 2d 20 | 74 72 61 6e 73 20 2f 20 |e = 1 - |trans / |
|00000d30| 34 3b 0a 0a 09 09 69 66 | 20 70 68 61 73 65 20 3c |4;....if| phase <|
|00000d40| 20 70 65 61 6b 31 20 74 | 68 65 6e 0a 09 09 09 70 | peak1 t|hen....p|
|00000d50| 68 61 73 65 20 2f 20 70 | 65 61 6b 31 0a 09 09 65 |hase / p|eak1...e|
|00000d60| 6c 73 65 20 69 66 20 70 | 68 61 73 65 20 3c 20 70 |lse if p|hase < p|
|00000d70| 65 61 6b 32 20 74 68 65 | 6e 0a 09 09 09 31 0a 09 |eak2 the|n....1..|
|00000d80| 09 65 6c 73 65 20 69 66 | 20 70 68 61 73 65 20 3c |.else if| phase <|
|00000d90| 20 74 72 6f 75 67 68 31 | 20 74 68 65 6e 0a 09 09 | trough1| then...|
|00000da0| 09 28 74 72 6f 75 67 68 | 31 20 2d 20 70 68 61 73 |.(trough|1 - phas|
|00000db0| 65 29 20 2f 20 70 65 61 | 6b 31 20 2d 20 31 0a 09 |e) / pea|k1 - 1..|
|00000dc0| 09 65 6c 73 65 20 69 66 | 20 70 68 61 73 65 20 3c |.else if| phase <|
|00000dd0| 20 74 72 6f 75 67 68 32 | 20 74 68 65 6e 0a 09 09 | trough2| then...|
|00000de0| 09 2d 31 0a 09 09 65 6c | 73 65 0a 09 09 09 28 70 |.-1...el|se....(p|
|00000df0| 68 61 73 65 20 2d 20 74 | 72 6f 75 67 68 32 29 20 |hase - t|rough2) |
|00000e00| 2f 20 28 74 72 61 6e 73 | 20 2f 20 34 29 20 2d 20 |/ (trans| / 4) - |
|00000e10| 31 0a 09 29 3b 0a 0a 23 | 20 67 65 6e 65 72 61 74 |1..);..#| generat|
|00000e20| 65 20 70 75 6c 73 65 77 | 69 64 74 68 20 77 61 76 |e pulsew|idth wav|
|00000e30| 65 66 6f 72 6d 20 69 6e | 74 6f 20 61 6e 20 61 72 |eform in|to an ar|
|00000e40| 72 61 79 20 73 65 63 74 | 69 6f 6e 0a 66 75 6e 63 |ray sect|ion.func|
|00000e50| 20 70 75 6c 73 65 77 69 | 64 74 68 61 72 72 61 79 | pulsewi|dtharray|
|00000e60| 28 64 61 74 61 3a 66 69 | 78 65 64 61 72 72 61 79 |(data:fi|xedarray|
|00000e70| 2c 20 73 74 61 72 74 3a | 69 6e 74 2c 20 6c 65 6e |, start:|int, len|
|00000e80| 3a 69 6e 74 2c 20 64 75 | 74 79 3a 64 6f 75 62 6c |:int, du|ty:doubl|
|00000e90| 65 2c 20 74 72 61 6e 73 | 3a 64 6f 75 62 6c 65 29 |e, trans|:double)|
|00000ea0| 20 3a 20 66 69 78 65 64 | 61 72 72 61 79 0a 09 28 | : fixed|array..(|
|00000eb0| 0a 09 09 76 61 72 20 69 | 3a 69 6e 74 20 3d 20 30 |...var i|:int = 0|
|00000ec0| 3b 0a 09 09 77 68 69 6c | 65 20 69 20 3c 20 6c 65 |;...whil|e i < le|
|00000ed0| 6e 20 64 6f 0a 09 09 09 | 28 0a 09 09 09 09 73 65 |n do....|(.....se|
|00000ee0| 74 20 64 61 74 61 5b 69 | 20 2b 20 73 74 61 72 74 |t data[i| + start|
|00000ef0| 5d 20 3a 3d 20 66 69 78 | 65 64 20 70 75 6c 73 65 |] := fix|ed pulse|
|00000f00| 77 69 64 74 68 28 69 20 | 2f 20 6c 65 6e 2c 64 75 |width(i |/ len,du|
|00000f10| 74 79 2c 74 72 61 6e 73 | 29 3b 0a 09 09 09 09 73 |ty,trans|);.....s|
|00000f20| 65 74 20 69 20 3a 3d 20 | 69 20 2b 20 31 3b 0a 09 |et i := |i + 1;..|
|00000f30| 09 09 29 3b 0a 09 09 64 | 61 74 61 0a 09 29 3b 0a |..);...d|ata..);.|
|00000f40| 01 4f 00 2d 00 0e 02 32 | 01 08 00 00 00 53 61 77 |.O.-...2|.....Saw|
|00000f50| 74 6f 6f 74 68 e9 00 00 | 00 23 20 67 65 6e 65 72 |tooth...|.# gener|
|00000f60| 61 74 65 20 61 20 73 61 | 77 74 6f 6f 74 68 20 77 |ate a sa|wtooth w|
|00000f70| 61 76 65 0a 66 75 6e 63 | 20 73 61 77 74 6f 6f 74 |ave.func| sawtoot|
|00000f80| 68 61 72 72 61 79 28 64 | 61 74 61 3a 66 69 78 65 |harray(d|ata:fixe|
|00000f90| 64 61 72 72 61 79 2c 20 | 73 74 61 72 74 3a 69 6e |darray, |start:in|
|00000fa0| 74 2c 20 6c 65 6e 3a 69 | 6e 74 29 3a 66 69 78 65 |t, len:i|nt):fixe|
|00000fb0| 64 61 72 72 61 79 0a 09 | 28 0a 09 09 76 61 72 20 |darray..|(...var |
|00000fc0| 69 3a 69 6e 74 20 3d 20 | 30 3b 0a 09 09 77 68 69 |i:int = |0;...whi|
|00000fd0| 6c 65 20 69 20 3c 20 6c | 65 6e 20 64 6f 0a 09 09 |le i < l|en do...|
|00000fe0| 09 28 0a 09 09 09 09 73 | 65 74 20 64 61 74 61 5b |.(.....s|et data[|
|00000ff0| 69 20 2b 20 73 74 61 72 | 74 5d 20 3a 3d 20 66 69 |i + star|t] := fi|
|00001000| 78 65 64 28 2d 31 20 2b | 20 32 20 2a 20 69 20 2f |xed(-1 +| 2 * i /|
|00001010| 20 28 6c 65 6e 20 2d 20 | 31 29 29 3b 0a 09 09 09 | (len - |1));....|
|00001020| 09 73 65 74 20 69 20 3a | 3d 20 69 20 2b 20 31 3b |.set i :|= i + 1;|
|00001030| 0a 09 09 09 29 3b 0a 09 | 09 64 61 74 61 0a 09 29 |....);..|.data..)|
|00001040| 3b 0a 01 12 00 23 00 5f | 02 42 01 0b 00 00 00 54 |;....#._|.B.....T|
|00001050| 6f 6e 65 20 46 69 6c 74 | 65 72 6a 05 00 00 23 20 |one Filt|erj...# |
|00001060| 66 69 72 73 74 20 6f 72 | 64 65 72 20 72 65 63 75 |first or|der recu|
|00001070| 72 73 69 76 65 20 66 69 | 6c 74 65 72 2e 0a 23 20 |rsive fi|lter..# |
|00001080| 66 72 6f 6d 20 41 70 70 | 65 6e 64 69 78 20 28 70 |from App|endix (p|
|00001090| 61 67 65 20 33 34 39 29 | 20 6f 66 0a 23 20 44 6f |age 349)| of.# Do|
|000010a0| 64 67 65 2c 20 43 68 61 | 72 6c 65 73 20 61 6e 64 |dge, Cha|rles and|
|000010b0| 20 4a 65 72 73 65 2c 20 | 54 68 6f 6d 61 73 20 41 | Jerse, |Thomas A|
|000010c0| 2e 0a 23 20 43 6f 6d 70 | 75 74 65 72 20 4d 75 73 |..# Comp|uter Mus|
|000010d0| 69 63 3a 20 20 53 79 6e | 74 68 65 73 69 73 2c 20 |ic: Syn|thesis, |
|000010e0| 43 6f 6d 70 6f 73 69 74 | 69 6f 6e 2c 20 61 6e 64 |Composit|ion, and|
|000010f0| 20 50 65 72 66 6f 72 6d | 61 6e 63 65 0a 23 20 53 | Perform|ance.# S|
|00001100| 63 68 69 72 6d 65 72 20 | 42 6f 6f 6b 73 2c 20 4e |chirmer |Books, N|
|00001110| 65 77 20 59 6f 72 6b 2c | 20 31 39 38 35 0a 0a 23 |ew York,| 1985..#|
|00001120| 20 66 69 6c 74 65 72 20 | 73 65 74 20 75 70 20 66 | filter |set up f|
|00001130| 75 6e 63 74 69 6f 6e 0a | 23 20 20 20 66 63 20 3d |unction.|# fc =|
|00001140| 20 63 75 74 6f 66 66 20 | 66 72 65 71 75 65 6e 63 | cutoff |frequenc|
|00001150| 79 20 69 6e 20 48 65 72 | 74 7a 2e 0a 23 20 20 20 |y in Her|tz..# |
|00001160| 20 20 66 63 20 3c 20 30 | 20 3d 3e 20 68 69 67 68 | fc < 0| => high|
|00001170| 20 70 61 73 73 20 66 69 | 6c 74 65 72 0a 23 20 20 | pass fi|lter.# |
|00001180| 20 20 20 66 63 20 3e 20 | 30 20 3d 3e 20 6c 6f 77 | fc > |0 => low|
|00001190| 20 70 61 73 73 20 66 69 | 6c 74 65 72 0a 23 20 20 | pass fi|lter.# |
|000011a0| 20 73 72 20 3d 20 73 61 | 6d 70 6c 69 6e 67 20 72 | sr = sa|mpling r|
|000011b0| 61 74 65 20 69 6e 20 48 | 65 72 74 7a 0a 23 20 20 |ate in H|ertz.# |
|000011c0| 20 72 65 74 75 72 6e 73 | 20 61 72 72 61 79 20 6f | returns| array o|
|000011d0| 66 20 33 20 65 6c 65 6d | 65 6e 74 73 20 74 6f 20 |f 3 elem|ents to |
|000011e0| 63 6f 6e 74 61 69 6e 20 | 77 6f 72 6b 73 70 61 63 |contain |workspac|
|000011f0| 65 20 66 6f 72 20 66 69 | 6c 74 65 72 0a 66 75 6e |e for fi|lter.fun|
|00001200| 63 20 74 6f 6e 65 73 65 | 74 28 66 63 3a 64 6f 75 |c tonese|t(fc:dou|
|00001210| 62 6c 65 2c 20 73 72 3a | 64 6f 75 62 6c 65 29 20 |ble, sr:|double) |
|00001220| 3a 20 64 6f 75 62 6c 65 | 61 72 72 61 79 0a 09 28 |: double|array..(|
|00001230| 0a 09 09 76 61 72 20 61 | 3a 64 6f 75 62 6c 65 61 |...var a|:doublea|
|00001240| 72 72 61 79 28 33 29 3b | 0a 09 09 76 61 72 20 62 |rray(3);|...var b|
|00001250| 3a 64 6f 75 62 6c 65 20 | 3d 20 32 20 2d 20 63 6f |:double |= 2 - co|
|00001260| 73 28 32 20 2a 20 70 69 | 20 2a 20 66 63 20 2f 20 |s(2 * pi| * fc / |
|00001270| 73 72 29 3b 0a 09 09 73 | 65 74 20 61 5b 31 5d 20 |sr);...s|et a[1] |
|00001280| 3a 3d 20 73 71 72 74 28 | 62 20 2a 20 62 20 2d 20 |:= sqrt(|b * b - |
|00001290| 31 29 20 2d 20 62 3b 0a | 09 09 73 65 74 20 61 5b |1) - b;.|..set a[|
|000012a0| 30 5d 20 3a 3d 20 31 20 | 2a 20 61 5b 31 5d 3b 0a |0] := 1 |* a[1];.|
|000012b0| 09 09 69 66 20 66 63 20 | 3c 20 30 20 74 68 65 6e |..if fc |< 0 then|
|000012c0| 20 73 65 74 20 61 5b 31 | 5d 20 3a 3d 20 2d 61 5b | set a[1|] := -a[|
|000012d0| 31 5d 3b 0a 09 09 61 0a | 09 29 3b 0a 0a 23 20 66 |1];...a.|.);..# f|
|000012e0| 69 6c 74 65 72 20 73 69 | 6e 67 6c 65 20 73 74 65 |ilter si|ngle ste|
|000012f0| 70 20 66 75 6e 63 74 69 | 6f 6e 0a 23 20 20 20 78 |p functi|on.# x|
|00001300| 69 6e 20 3d 20 69 6e 70 | 75 74 20 73 61 6d 70 6c |in = inp|ut sampl|
|00001310| 65 20 76 61 6c 75 65 20 | 5b 2d 31 2e 2e 31 5d 0a |e value |[-1..1].|
|00001320| 23 20 20 20 61 20 3d 20 | 61 72 72 61 79 20 6f 62 |# a = |array ob|
|00001330| 74 61 69 6e 65 64 20 66 | 72 6f 6d 20 74 6f 6e 65 |tained f|rom tone|
|00001340| 73 65 74 0a 23 20 20 20 | 72 65 74 75 72 6e 73 20 |set.# |returns |
|00001350| 6e 65 77 20 73 61 6d 70 | 6c 65 20 76 61 6c 75 65 |new samp|le value|
|00001360| 0a 66 75 6e 63 20 74 6f | 6e 65 28 78 69 6e 3a 64 |.func to|ne(xin:d|
|00001370| 6f 75 62 6c 65 2c 20 61 | 3a 64 6f 75 62 6c 65 61 |ouble, a|:doublea|
|00001380| 72 72 61 79 29 20 3a 20 | 64 6f 75 62 6c 65 0a 09 |rray) : |double..|
|00001390| 28 0a 09 09 73 65 74 20 | 61 5b 32 5d 20 3a 3d 20 |(...set |a[2] := |
|000013a0| 61 5b 30 5d 20 2a 20 78 | 69 6e 20 2d 20 61 5b 31 |a[0] * x|in - a[1|
|000013b0| 5d 20 2a 20 61 5b 32 5d | 3b 0a 09 29 3b 0a 0a 23 |] * a[2]|;..);..#|
|000013c0| 20 61 70 70 6c 79 20 66 | 69 6c 74 65 72 20 74 6f | apply f|ilter to|
|000013d0| 20 61 20 72 61 6e 67 65 | 20 6f 66 20 73 61 6d 70 | a range| of samp|
|000013e0| 6c 65 73 2e 20 20 6f 6e | 65 20 70 61 73 73 20 69 |les. on|e pass i|
|000013f0| 73 20 6d 61 64 65 20 74 | 6f 20 73 74 61 62 69 6c |s made t|o stabil|
|00001400| 69 7a 65 20 66 69 6c 74 | 65 72 2c 0a 23 20 61 6e |ize filt|er,.# an|
|00001410| 64 20 74 68 65 20 73 65 | 63 6f 6e 64 20 70 61 73 |d the se|cond pas|
|00001420| 73 20 69 73 20 74 68 65 | 6e 20 75 73 65 64 0a 66 |s is the|n used.f|
|00001430| 75 6e 63 20 61 70 70 6c | 79 74 6f 6e 65 28 64 61 |unc appl|ytone(da|
|00001440| 74 61 3a 66 69 78 65 64 | 61 72 72 61 79 2c 20 73 |ta:fixed|array, s|
|00001450| 74 61 72 74 3a 69 6e 74 | 2c 20 6c 65 6e 3a 69 6e |tart:int|, len:in|
|00001460| 74 2c 20 61 3a 64 6f 75 | 62 6c 65 61 72 72 61 79 |t, a:dou|blearray|
|00001470| 2c 20 63 6f 75 6e 74 3a | 69 6e 74 29 20 3a 20 66 |, count:|int) : f|
|00001480| 69 78 65 64 61 72 72 61 | 79 0a 09 28 0a 09 09 76 |ixedarra|y..(...v|
|00001490| 61 72 20 69 3a 69 6e 74 | 20 3d 20 30 3b 0a 09 09 |ar i:int| = 0;...|
|000014a0| 77 68 69 6c 65 20 63 6f | 75 6e 74 20 3e 20 30 20 |while co|unt > 0 |
|000014b0| 64 6f 0a 09 09 09 28 0a | 09 09 09 09 73 65 74 20 |do....(.|....set |
|000014c0| 69 20 3a 3d 20 30 3b 0a | 09 09 09 09 77 68 69 6c |i := 0;.|....whil|
|000014d0| 65 20 69 20 3c 20 6c 65 | 6e 20 64 6f 0a 09 09 09 |e i < le|n do....|
|000014e0| 09 09 28 0a 09 09 09 09 | 09 09 74 6f 6e 65 28 64 |..(.....|..tone(d|
|000014f0| 61 74 61 5b 73 74 61 72 | 74 20 2b 20 69 5d 2c 61 |ata[star|t + i],a|
|00001500| 29 3b 0a 09 09 09 09 09 | 09 73 65 74 20 69 20 3a |);......|.set i :|
|00001510| 3d 20 69 20 2b 20 31 3b | 0a 09 09 09 09 09 29 3b |= i + 1;|......);|
|00001520| 0a 09 09 09 09 73 65 74 | 20 63 6f 75 6e 74 20 3a |.....set| count :|
|00001530| 3d 20 63 6f 75 6e 74 20 | 2d 20 31 3b 0a 09 09 09 |= count |- 1;....|
|00001540| 29 3b 0a 09 09 73 65 74 | 20 69 20 3a 3d 20 30 3b |);...set| i := 0;|
|00001550| 0a 09 09 77 68 69 6c 65 | 20 69 20 3c 20 6c 65 6e |...while| i < len|
|00001560| 20 64 6f 0a 09 09 09 28 | 0a 09 09 09 09 73 65 74 | do....(|.....set|
|00001570| 20 64 61 74 61 5b 73 74 | 61 72 74 20 2b 20 69 5d | data[st|art + i]|
|00001580| 20 3a 3d 20 66 69 78 65 | 64 20 74 6f 6e 65 28 64 | := fixe|d tone(d|
|00001590| 61 74 61 5b 73 74 61 72 | 74 20 2b 20 69 5d 2c 61 |ata[star|t + i],a|
|000015a0| 29 3b 0a 09 09 09 09 73 | 65 74 20 69 20 3a 3d 20 |);.....s|et i := |
|000015b0| 69 20 2b 20 31 3b 0a 09 | 09 09 29 3b 0a 09 09 64 |i + 1;..|..);...d|
|000015c0| 61 74 61 0a 09 29 3b 0a | 00 00 00 00 00 00 00 00 |ata..);.|........|
|000015d0| 02 00 00 00 01 46 00 14 | 00 1f 02 65 01 10 00 00 |.....F..|...e....|
|000015e0| 00 4c 6f 77 70 61 73 73 | 20 53 61 77 74 6f 6f 74 |.Lowpass| Sawtoot|
|000015f0| 68 ec 03 00 00 23 20 66 | 72 61 6d 65 73 20 3a 20 |h....# f|rames : |
|00001600| 69 6e 74 65 67 65 72 3b | 20 74 61 62 6c 65 73 20 |integer;| tables |
|00001610| 3a 20 69 6e 74 65 67 65 | 72 3b 20 64 61 74 61 20 |: intege|r; data |
|00001620| 3a 20 66 69 78 65 64 61 | 72 72 61 79 0a 70 72 6f |: fixeda|rray.pro|
|00001630| 74 6f 20 70 75 6c 73 65 | 77 69 64 74 68 61 72 72 |to pulse|widtharr|
|00001640| 61 79 28 64 61 74 61 3a | 66 69 78 65 64 61 72 72 |ay(data:|fixedarr|
|00001650| 61 79 2c 20 73 74 61 72 | 74 3a 69 6e 74 2c 20 6c |ay, star|t:int, l|
|00001660| 65 6e 3a 69 6e 74 2c 20 | 64 75 74 79 3a 64 6f 75 |en:int, |duty:dou|
|00001670| 62 6c 65 2c 20 74 72 61 | 6e 73 3a 64 6f 75 62 6c |ble, tra|ns:doubl|
|00001680| 65 29 20 3a 20 66 69 78 | 65 64 61 72 72 61 79 3b |e) : fix|edarray;|
|00001690| 0a 70 72 6f 74 6f 20 73 | 61 77 74 6f 6f 74 68 61 |.proto s|awtootha|
|000016a0| 72 72 61 79 28 64 61 74 | 61 3a 66 69 78 65 64 61 |rray(dat|a:fixeda|
|000016b0| 72 72 61 79 2c 20 73 74 | 61 72 74 3a 69 6e 74 2c |rray, st|art:int,|
|000016c0| 20 6c 65 6e 3a 69 6e 74 | 29 3a 66 69 78 65 64 61 | len:int|):fixeda|
|000016d0| 72 72 61 79 3b 0a 70 72 | 6f 74 6f 20 74 6f 6e 65 |rray;.pr|oto tone|
|000016e0| 73 65 74 28 66 63 3a 64 | 6f 75 62 6c 65 2c 20 73 |set(fc:d|ouble, s|
|000016f0| 72 3a 64 6f 75 62 6c 65 | 29 20 3a 20 64 6f 75 62 |r:double|) : doub|
|00001700| 6c 65 61 72 72 61 79 3b | 0a 70 72 6f 74 6f 20 61 |learray;|.proto a|
|00001710| 70 70 6c 79 74 6f 6e 65 | 28 64 61 74 61 3a 66 69 |pplytone|(data:fi|
|00001720| 78 65 64 61 72 72 61 79 | 2c 20 73 74 61 72 74 3a |xedarray|, start:|
|00001730| 69 6e 74 2c 20 6c 65 6e | 3a 69 6e 74 2c 20 61 3a |int, len|:int, a:|
|00001740| 64 6f 75 62 6c 65 61 72 | 72 61 79 2c 20 63 6f 75 |doublear|ray, cou|
|00001750| 6e 74 3a 69 6e 74 29 20 | 3a 20 66 69 78 65 64 61 |nt:int) |: fixeda|
|00001760| 72 72 61 79 3b 0a 70 72 | 6f 74 6f 20 6e 6f 72 6d |rray;.pr|oto norm|
|00001770| 61 6c 69 7a 65 73 65 67 | 6d 65 6e 74 28 64 61 74 |alizeseg|ment(dat|
|00001780| 61 3a 66 69 78 65 64 61 | 72 72 61 79 2c 73 74 61 |a:fixeda|rray,sta|
|00001790| 72 74 3a 69 6e 74 2c 6c | 65 6e 3a 69 6e 74 29 3a |rt:int,l|en:int):|
|000017a0| 66 69 78 65 64 61 72 72 | 61 79 3b 0a 70 72 6f 74 |fixedarr|ay;.prot|
|000017b0| 6f 20 6d 61 78 69 6d 69 | 7a 65 73 65 67 6d 65 6e |o maximi|zesegmen|
|000017c0| 74 28 64 61 74 61 3a 66 | 69 78 65 64 61 72 72 61 |t(data:f|ixedarra|
|000017d0| 79 2c 73 74 61 72 74 3a | 69 6e 74 2c 6c 65 6e 3a |y,start:|int,len:|
|000017e0| 69 6e 74 29 3a 66 69 78 | 65 64 61 72 72 61 79 3b |int):fix|edarray;|
|000017f0| 0a 76 61 72 20 69 3a 69 | 6e 74 20 3d 20 30 3b 0a |.var i:i|nt = 0;.|
|00001800| 77 68 69 6c 65 20 69 20 | 3c 20 74 61 62 6c 65 73 |while i |< tables|
|00001810| 20 64 6f 0a 09 28 0a 09 | 09 73 61 77 74 6f 6f 74 | do..(..|.sawtoot|
|00001820| 68 61 72 72 61 79 28 64 | 61 74 61 2c 69 20 2a 20 |harray(d|ata,i * |
|00001830| 66 72 61 6d 65 73 2c 66 | 72 61 6d 65 73 29 3b 0a |frames,f|rames);.|
|00001840| 09 09 76 61 72 20 61 3a | 64 6f 75 62 6c 65 61 72 |..var a:|doublear|
|00001850| 72 61 79 20 3d 20 74 6f | 6e 65 73 65 74 28 31 30 |ray = to|neset(10|
|00001860| 30 20 2b 20 69 20 2f 20 | 74 61 62 6c 65 73 20 2a |0 + i / |tables *|
|00001870| 20 32 30 30 30 2c 32 36 | 31 2e 36 20 2a 20 66 72 | 2000,26|1.6 * fr|
|00001880| 61 6d 65 73 29 3b 0a 09 | 09 61 70 70 6c 79 74 6f |ames);..|.applyto|
|00001890| 6e 65 28 64 61 74 61 2c | 69 20 2a 20 66 72 61 6d |ne(data,|i * fram|
|000018a0| 65 73 2c 66 72 61 6d 65 | 73 2c 61 2c 34 29 3b 0a |es,frame|s,a,4);.|
|000018b0| 09 09 6d 61 78 69 6d 69 | 7a 65 73 65 67 6d 65 6e |..maximi|zesegmen|
|000018c0| 74 28 64 61 74 61 2c 69 | 20 2a 20 66 72 61 6d 65 |t(data,i| * frame|
|000018d0| 73 2c 66 72 61 6d 65 73 | 29 3b 0a 09 09 76 61 72 |s,frames|);...var|
|000018e0| 20 62 3a 64 6f 75 62 6c | 65 61 72 72 61 79 20 3d | b:doubl|earray =|
|000018f0| 20 74 6f 6e 65 73 65 74 | 28 31 30 30 20 2b 20 69 | toneset|(100 + i|
|00001900| 20 2f 20 74 61 62 6c 65 | 73 20 2a 20 32 30 30 30 | / table|s * 2000|
|00001910| 2c 32 36 31 2e 36 20 2a | 20 66 72 61 6d 65 73 29 |,261.6 *| frames)|
|00001920| 3b 0a 09 09 61 70 70 6c | 79 74 6f 6e 65 28 64 61 |;...appl|ytone(da|
|00001930| 74 61 2c 69 20 2a 20 66 | 72 61 6d 65 73 2c 66 72 |ta,i * f|rames,fr|
|00001940| 61 6d 65 73 2c 62 2c 34 | 29 3b 0a 09 09 6d 61 78 |ames,b,4|);...max|
|00001950| 69 6d 69 7a 65 73 65 67 | 6d 65 6e 74 28 64 61 74 |imizeseg|ment(dat|
|00001960| 61 2c 69 20 2a 20 66 72 | 61 6d 65 73 2c 66 72 61 |a,i * fr|ames,fra|
|00001970| 6d 65 73 29 3b 0a 09 09 | 73 65 74 20 69 20 3a 3d |mes);...|set i :=|
|00001980| 20 69 20 2b 20 31 3b 0a | 09 29 3b 0a 23 6e 6f 72 | i + 1;.|.);.#nor|
|00001990| 6d 61 6c 69 7a 65 73 65 | 67 6d 65 6e 74 28 64 61 |malizese|gment(da|
|000019a0| 74 61 2c 30 2c 74 61 62 | 6c 65 73 20 2a 20 66 72 |ta,0,tab|les * fr|
|000019b0| 61 6d 65 73 29 3b 0a 23 | 6d 61 78 69 6d 69 7a 65 |ames);.#|maximize|
|000019c0| 73 65 67 6d 65 6e 74 28 | 64 61 74 61 2c 30 2c 74 |segment(|data,0,t|
|000019d0| 61 62 6c 65 73 20 2a 20 | 66 72 61 6d 65 73 29 3b |ables * |frames);|
|000019e0| 0a 80 00 00 00 40 00 00 | 00 10 01 49 00 14 00 1f |.....@..|...I....|
|000019f0| 02 65 01 0e 00 00 00 4c | 6f 77 70 61 73 73 20 53 |.e.....L|owpass S|
|00001a00| 71 75 61 72 65 f5 03 00 | 00 23 20 66 72 61 6d 65 |quare...|.# frame|
|00001a10| 73 20 3a 20 69 6e 74 65 | 67 65 72 3b 20 74 61 62 |s : inte|ger; tab|
|00001a20| 6c 65 73 20 3a 20 69 6e | 74 65 67 65 72 3b 20 64 |les : in|teger; d|
|00001a30| 61 74 61 20 3a 20 66 69 | 78 65 64 61 72 72 61 79 |ata : fi|xedarray|
|00001a40| 0a 70 72 6f 74 6f 20 70 | 75 6c 73 65 77 69 64 74 |.proto p|ulsewidt|
|00001a50| 68 61 72 72 61 79 28 64 | 61 74 61 3a 66 69 78 65 |harray(d|ata:fixe|
|00001a60| 64 61 72 72 61 79 2c 20 | 73 74 61 72 74 3a 69 6e |darray, |start:in|
|00001a70| 74 2c 20 6c 65 6e 3a 69 | 6e 74 2c 20 64 75 74 79 |t, len:i|nt, duty|
|00001a80| 3a 64 6f 75 62 6c 65 2c | 20 74 72 61 6e 73 3a 64 |:double,| trans:d|
|00001a90| 6f 75 62 6c 65 29 20 3a | 20 66 69 78 65 64 61 72 |ouble) :| fixedar|
|00001aa0| 72 61 79 3b 0a 70 72 6f | 74 6f 20 73 61 77 74 6f |ray;.pro|to sawto|
|00001ab0| 6f 74 68 61 72 72 61 79 | 28 64 61 74 61 3a 66 69 |otharray|(data:fi|
|00001ac0| 78 65 64 61 72 72 61 79 | 2c 20 73 74 61 72 74 3a |xedarray|, start:|
|00001ad0| 69 6e 74 2c 20 6c 65 6e | 3a 69 6e 74 29 3a 66 69 |int, len|:int):fi|
|00001ae0| 78 65 64 61 72 72 61 79 | 3b 0a 70 72 6f 74 6f 20 |xedarray|;.proto |
|00001af0| 74 6f 6e 65 73 65 74 28 | 66 63 3a 64 6f 75 62 6c |toneset(|fc:doubl|
|00001b00| 65 2c 20 73 72 3a 64 6f | 75 62 6c 65 29 20 3a 20 |e, sr:do|uble) : |
|00001b10| 64 6f 75 62 6c 65 61 72 | 72 61 79 3b 0a 70 72 6f |doublear|ray;.pro|
|00001b20| 74 6f 20 61 70 70 6c 79 | 74 6f 6e 65 28 64 61 74 |to apply|tone(dat|
|00001b30| 61 3a 66 69 78 65 64 61 | 72 72 61 79 2c 20 73 74 |a:fixeda|rray, st|
|00001b40| 61 72 74 3a 69 6e 74 2c | 20 6c 65 6e 3a 69 6e 74 |art:int,| len:int|
|00001b50| 2c 20 61 3a 64 6f 75 62 | 6c 65 61 72 72 61 79 2c |, a:doub|learray,|
|00001b60| 20 63 6f 75 6e 74 3a 69 | 6e 74 29 20 3a 20 66 69 | count:i|nt) : fi|
|00001b70| 78 65 64 61 72 72 61 79 | 3b 0a 70 72 6f 74 6f 20 |xedarray|;.proto |
|00001b80| 6e 6f 72 6d 61 6c 69 7a | 65 73 65 67 6d 65 6e 74 |normaliz|esegment|
|00001b90| 28 64 61 74 61 3a 66 69 | 78 65 64 61 72 72 61 79 |(data:fi|xedarray|
|00001ba0| 2c 73 74 61 72 74 3a 69 | 6e 74 2c 6c 65 6e 3a 69 |,start:i|nt,len:i|
|00001bb0| 6e 74 29 3a 66 69 78 65 | 64 61 72 72 61 79 3b 0a |nt):fixe|darray;.|
|00001bc0| 70 72 6f 74 6f 20 6d 61 | 78 69 6d 69 7a 65 73 65 |proto ma|ximizese|
|00001bd0| 67 6d 65 6e 74 28 64 61 | 74 61 3a 66 69 78 65 64 |gment(da|ta:fixed|
|00001be0| 61 72 72 61 79 2c 73 74 | 61 72 74 3a 69 6e 74 2c |array,st|art:int,|
|00001bf0| 6c 65 6e 3a 69 6e 74 29 | 3a 66 69 78 65 64 61 72 |len:int)|:fixedar|
|00001c00| 72 61 79 3b 0a 76 61 72 | 20 69 3a 69 6e 74 20 3d |ray;.var| i:int =|
|00001c10| 20 30 3b 0a 77 68 69 6c | 65 20 69 20 3c 20 74 61 | 0;.whil|e i < ta|
|00001c20| 62 6c 65 73 20 64 6f 0a | 09 28 0a 09 09 70 75 6c |bles do.|.(...pul|
|00001c30| 73 65 77 69 64 74 68 61 | 72 72 61 79 28 64 61 74 |sewidtha|rray(dat|
|00001c40| 61 2c 69 20 2a 20 66 72 | 61 6d 65 73 2c 66 72 61 |a,i * fr|ames,fra|
|00001c50| 6d 65 73 2c 2e 35 2c 2e | 30 35 29 3b 0a 09 09 76 |mes,.5,.|05);...v|
|00001c60| 61 72 20 61 3a 64 6f 75 | 62 6c 65 61 72 72 61 79 |ar a:dou|blearray|
|00001c70| 20 3d 20 74 6f 6e 65 73 | 65 74 28 31 30 30 20 2b | = tones|et(100 +|
|00001c80| 20 69 20 2f 20 74 61 62 | 6c 65 73 20 2a 20 32 30 | i / tab|les * 20|
|00001c90| 30 30 2c 32 36 31 2e 36 | 20 2a 20 66 72 61 6d 65 |00,261.6| * frame|
|00001ca0| 73 29 3b 0a 09 09 61 70 | 70 6c 79 74 6f 6e 65 28 |s);...ap|plytone(|
|00001cb0| 64 61 74 61 2c 69 20 2a | 20 66 72 61 6d 65 73 2c |data,i *| frames,|
|00001cc0| 66 72 61 6d 65 73 2c 61 | 2c 34 29 3b 0a 09 09 6d |frames,a|,4);...m|
|00001cd0| 61 78 69 6d 69 7a 65 73 | 65 67 6d 65 6e 74 28 64 |aximizes|egment(d|
|00001ce0| 61 74 61 2c 69 20 2a 20 | 66 72 61 6d 65 73 2c 66 |ata,i * |frames,f|
|00001cf0| 72 61 6d 65 73 29 3b 0a | 09 09 76 61 72 20 62 3a |rames);.|..var b:|
|00001d00| 64 6f 75 62 6c 65 61 72 | 72 61 79 20 3d 20 74 6f |doublear|ray = to|
|00001d10| 6e 65 73 65 74 28 31 30 | 30 20 2b 20 69 20 2f 20 |neset(10|0 + i / |
|00001d20| 74 61 62 6c 65 73 20 2a | 20 32 30 30 30 2c 32 36 |tables *| 2000,26|
|00001d30| 31 2e 36 20 2a 20 66 72 | 61 6d 65 73 29 3b 0a 09 |1.6 * fr|ames);..|
|00001d40| 09 61 70 70 6c 79 74 6f | 6e 65 28 64 61 74 61 2c |.applyto|ne(data,|
|00001d50| 69 20 2a 20 66 72 61 6d | 65 73 2c 66 72 61 6d 65 |i * fram|es,frame|
|00001d60| 73 2c 62 2c 34 29 3b 0a | 09 09 6d 61 78 69 6d 69 |s,b,4);.|..maximi|
|00001d70| 7a 65 73 65 67 6d 65 6e | 74 28 64 61 74 61 2c 69 |zesegmen|t(data,i|
|00001d80| 20 2a 20 66 72 61 6d 65 | 73 2c 66 72 61 6d 65 73 | * frame|s,frames|
|00001d90| 29 3b 0a 09 09 73 65 74 | 20 69 20 3a 3d 20 69 20 |);...set| i := i |
|00001da0| 2b 20 31 3b 0a 09 29 3b | 0a 23 6e 6f 72 6d 61 6c |+ 1;..);|.#normal|
|00001db0| 69 7a 65 73 65 67 6d 65 | 6e 74 28 64 61 74 61 2c |izesegme|nt(data,|
|00001dc0| 30 2c 74 61 62 6c 65 73 | 20 2a 20 66 72 61 6d 65 |0,tables| * frame|
|00001dd0| 73 29 3b 0a 23 6d 61 78 | 69 6d 69 7a 65 73 65 67 |s);.#max|imizeseg|
|00001de0| 6d 65 6e 74 28 64 61 74 | 61 2c 30 2c 74 61 62 6c |ment(dat|a,0,tabl|
|00001df0| 65 73 20 2a 20 66 72 61 | 6d 65 73 29 3b 0a 80 00 |es * fra|mes);...|
|00001e00| 00 00 40 00 00 00 10 02 | 00 00 00 01 16 00 28 00 |..@.....|......(.|
|00001e10| ea 01 40 01 10 00 00 00 | 4c 6f 77 70 61 73 73 20 |..@.....|Lowpass |
|00001e20| 53 61 77 74 6f 6f 74 68 | 6a 01 00 00 69 6e 73 74 |Sawtooth|j...inst|
|00001e30| 72 75 6d 65 6e 74 0a 09 | 28 0a 09 09 6c 6f 75 64 |rument..|(...loud|
|00001e40| 6e 65 73 73 20 31 3b 0a | 09 09 6f 73 63 69 6c 6c |ness 1;.|..oscill|
|00001e50| 61 74 6f 72 20 78 0a 09 | 09 09 28 0a 09 09 09 09 |ator x..|..(.....|
|00001e60| 73 61 6d 70 6c 65 6c 69 | 73 74 20 28 22 4c 6f 77 |sampleli|st ("Low|
|00001e70| 70 61 73 73 20 53 61 77 | 74 6f 6f 74 68 22 20 31 |pass Saw|tooth" 1|
|00001e80| 30 30 30 30 3b 29 3b 0a | 09 09 09 09 74 79 70 65 |0000;);.|....type|
|00001e90| 20 77 61 76 65 74 61 62 | 6c 65 3b 0a 09 09 09 09 | wavetab|le;.....|
|00001ea0| 6c 6f 75 64 6e 65 73 73 | 20 31 3b 0a 09 09 09 09 |loudness| 1;.....|
|00001eb0| 6c 6f 75 64 6e 65 73 73 | 65 6e 76 65 6c 6f 70 65 |loudness|envelope|
|00001ec0| 0a 09 09 09 09 09 28 0a | 09 09 09 09 09 09 70 6f |......(.|......po|
|00001ed0| 69 6e 74 73 0a 09 09 09 | 09 09 09 09 28 0a 09 09 |ints....|....(...|
|00001ee0| 09 09 09 09 09 09 64 65 | 6c 61 79 20 30 20 6c 65 |......de|lay 0 le|
|00001ef0| 76 65 6c 20 31 20 73 75 | 73 74 61 69 6e 70 6f 69 |vel 1 su|stainpoi|
|00001f00| 6e 74 20 31 3b 0a 09 09 | 09 09 09 09 09 29 3b 0a |nt 1;...|.....);.|
|00001f10| 09 09 09 09 09 29 3b 0a | 09 09 09 09 69 6e 64 65 |.....);.|....inde|
|00001f20| 78 65 6e 76 65 6c 6f 70 | 65 0a 09 09 09 09 09 28 |xenvelop|e......(|
|00001f30| 0a 09 09 09 09 09 09 70 | 6f 69 6e 74 73 0a 09 09 |.......p|oints...|
|00001f40| 09 09 09 09 09 28 0a 09 | 09 09 09 09 09 09 09 64 |.....(..|.......d|
|00001f50| 65 6c 61 79 20 30 20 6c | 65 76 65 6c 20 31 3b 0a |elay 0 l|evel 1;.|
|00001f60| 09 09 09 09 09 09 09 09 | 64 65 6c 61 79 20 36 2e |........|delay 6.|
|00001f70| 35 20 6c 65 76 65 6c 20 | 30 3b 0a 09 09 09 09 09 |5 level |0;......|
|00001f80| 09 09 29 3b 0a 09 09 09 | 09 09 29 3b 0a 09 09 09 |..);....|..);....|
|00001f90| 29 3b 0a 09 29 0a 01 16 | 00 27 00 ea 01 40 01 0e |);..)...|.'...@..|
|00001fa0| 00 00 00 4c 6f 77 70 61 | 73 73 20 53 71 75 61 72 |...Lowpa|ss Squar|
|00001fb0| 65 68 01 00 00 69 6e 73 | 74 72 75 6d 65 6e 74 0a |eh...ins|trument.|
|00001fc0| 09 28 0a 09 09 6c 6f 75 | 64 6e 65 73 73 20 31 3b |.(...lou|dness 1;|
|00001fd0| 0a 09 09 6f 73 63 69 6c | 6c 61 74 6f 72 20 78 0a |...oscil|lator x.|
|00001fe0| 09 09 09 28 0a 09 09 09 | 09 73 61 6d 70 6c 65 6c |...(....|.samplel|
|00001ff0| 69 73 74 20 28 22 4c 6f | 77 70 61 73 73 20 53 71 |ist ("Lo|wpass Sq|
|00002000| 75 61 72 65 22 20 31 30 | 30 30 30 3b 29 3b 0a 09 |uare" 10|000;);..|
|00002010| 09 09 09 74 79 70 65 20 | 77 61 76 65 74 61 62 6c |...type |wavetabl|
|00002020| 65 3b 0a 09 09 09 09 6c | 6f 75 64 6e 65 73 73 20 |e;.....l|oudness |
|00002030| 31 3b 0a 09 09 09 09 6c | 6f 75 64 6e 65 73 73 65 |1;.....l|oudnesse|
|00002040| 6e 76 65 6c 6f 70 65 0a | 09 09 09 09 09 28 0a 09 |nvelope.|.....(..|
|00002050| 09 09 09 09 09 70 6f 69 | 6e 74 73 0a 09 09 09 09 |.....poi|nts.....|
|00002060| 09 09 09 28 0a 09 09 09 | 09 09 09 09 09 64 65 6c |...(....|.....del|
|00002070| 61 79 20 30 20 6c 65 76 | 65 6c 20 31 20 73 75 73 |ay 0 lev|el 1 sus|
|00002080| 74 61 69 6e 70 6f 69 6e | 74 20 31 3b 0a 09 09 09 |tainpoin|t 1;....|
|00002090| 09 09 09 09 29 3b 0a 09 | 09 09 09 09 29 3b 0a 09 |....);..|....);..|
|000020a0| 09 09 09 69 6e 64 65 78 | 65 6e 76 65 6c 6f 70 65 |...index|envelope|
|000020b0| 0a 09 09 09 09 09 28 0a | 09 09 09 09 09 09 70 6f |......(.|......po|
|000020c0| 69 6e 74 73 0a 09 09 09 | 09 09 09 09 28 0a 09 09 |ints....|....(...|
|000020d0| 09 09 09 09 09 09 64 65 | 6c 61 79 20 30 20 6c 65 |......de|lay 0 le|
|000020e0| 76 65 6c 20 31 3b 0a 09 | 09 09 09 09 09 09 09 64 |vel 1;..|.......d|
|000020f0| 65 6c 61 79 20 36 2e 35 | 20 6c 65 76 65 6c 20 30 |elay 6.5| level 0|
|00002100| 3b 0a 09 09 09 09 09 09 | 09 29 3b 0a 09 09 09 09 |;.......|.);.....|
|00002110| 09 29 3b 0a 09 09 09 29 | 3b 0a 09 29 0a 02 00 00 |.);....)|;..)....|
|00002120| 00 01 1a 00 2f 00 f4 01 | 22 01 10 00 00 00 4c 6f |..../...|".....Lo|
|00002130| 77 70 61 73 73 20 53 61 | 77 74 6f 6f 74 68 00 00 |wpass Sa|wtooth..|
|00002140| 00 00 00 00 00 00 01 00 | 00 00 00 00 40 42 0f 00 |........|....@B..|
|00002150| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002160| 00 00 00 00 00 00 00 00 | 40 42 0f 00 00 40 42 0f |........|@B...@B.|
|00002170| 00 00 00 00 00 00 40 42 | 0f 00 00 00 00 00 00 00 |......@B|........|
|00002180| 00 00 00 01 01 10 00 00 | 00 4c 6f 77 70 61 73 73 |........|.Lowpass|
|00002190| 20 53 61 77 74 6f 6f 74 | 68 00 18 00 00 00 23 63 | Sawtoot|h.....#c|
|000021a0| 68 61 6e 6e 65 6c 20 70 | 6f 73 74 70 72 6f 63 65 |hannel p|ostproce|
|000021b0| 73 73 69 6e 67 0a 01 01 | 00 00 00 01 00 00 00 09 |ssing...|........|
|000021c0| 94 2a 00 c0 00 00 00 00 | 00 00 00 00 00 00 00 e8 |.*......|........|
|000021d0| 03 00 00 00 00 00 00 00 | 00 00 00 00 00 ff ff e8 |........|........|
|000021e0| 03 e8 03 00 00 e8 03 00 | 00 00 00 00 00 01 1a 00 |........|........|
|000021f0| 2f 00 f4 01 22 01 0e 00 | 00 00 4c 6f 77 70 61 73 |/..."...|..Lowpas|
|00002200| 73 20 53 71 75 61 72 65 | 00 00 00 00 00 00 00 00 |s Square|........|
|00002210| 01 00 00 00 00 00 40 42 | 0f 00 00 00 00 00 00 00 |......@B|........|
|00002220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002230| 00 00 40 42 0f 00 00 40 | 42 0f 00 00 00 00 00 00 |..@B...@|B.......|
|00002240| 40 42 0f 00 00 00 00 00 | 00 00 00 00 00 01 01 0e |@B......|........|
|00002250| 00 00 00 4c 6f 77 70 61 | 73 73 20 53 71 75 61 72 |...Lowpa|ss Squar|
|00002260| 65 00 18 00 00 00 23 63 | 68 61 6e 6e 65 6c 20 70 |e.....#c|hannel p|
|00002270| 6f 73 74 70 72 6f 63 65 | 73 73 69 6e 67 0a 01 03 |ostproce|ssing...|
|00002280| 00 00 00 01 00 00 00 09 | 96 2a 00 c0 00 00 00 00 |........|.*......|
|00002290| 00 00 00 00 00 00 00 e8 | 03 00 00 00 00 00 00 00 |........|........|
|000022a0| 00 00 00 00 00 ff ff e8 | 03 e8 03 00 00 e8 03 00 |........|........|
|000022b0| 00 01 00 00 00 05 96 2a | 00 c0 00 00 00 00 00 00 |.......*|........|
|000022c0| 00 00 00 00 00 e8 03 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022d0| 00 00 00 ff ff e8 03 e8 | 03 00 00 e8 03 00 00 01 |........|........|
|000022e0| 00 00 00 09 94 2a 00 c0 | 00 00 00 00 00 00 00 00 |.....*..|........|
|000022f0| 00 00 00 e8 03 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002300| 00 ff ff e8 03 e8 03 00 | 00 e8 03 00 00 00 00 00 |........|........|
|00002310| 00 00 00 00 00 00 00 00 | 00 |........|. |
+--------+-------------------------+-------------------------+--------+--------+